home *** CD-ROM | disk | FTP | other *** search
Text File | 1989-05-01 | 5.2 KB | 171 lines | [TEXT/MPS ] |
- % ---------------------------------------------------------------------------
- % Class MACDialog
- %
- % In this module you find the programmers interface to Dialogs and Alerts.
- % It is built on top of the TOOLBOX routines in TOOLBOXDialog.
- % For a description of the routines see Inside Macintosh, chapter 13.
- % MacDialogAlert is only used as prefix on MacDialog and MacAlert
- %
- % 890317/Boris Magnusson
- % 890412/Göran Eriksson
- %
- % ---------------------------------------------------------------------------
- % {for Dialog Manager}
- %
- % DialogPtr = WindowPtr;
- % DialogPeek = ^DialogRecord;
- % DialogRecord = RECORD
- % window: WindowRecord;
- % Items: Handle;
- % textH: TEHandle;
- % editField: INTEGER;
- % editOpen: INTEGER;
- % aDefItem: INTEGER;
- % END;
- %
- % DialogTHndl = ^DialogTPtr;
- % DialogTPtr = ^DialogTemplate;
- % DialogTemplate = RECORD
- % boundsRect: Rect;
- % procID: INTEGER;
- % visible: BOOLEAN;
- % filler1: BOOLEAN;
- % goAwayFlag: BOOLEAN;
- % filler2: BOOLEAN;
- % refCon: LONGINT;
- % ItemsID: INTEGER;
- % title: Str255;
- % END;
- % ---------------------------------------------------------
- external text procedure Text_String="::SInterfaces:Text_String";
- external text procedure String_Text="::SInterfaces:String_Text";
- external class MACPoint="::SInterfaces:MACPoint";
- external class MACRect="::SInterfaces:MACRect";
- external class MACDialogAlert="::SInterfaces:MACDialogAlert";
- external class ToolboxDialog="::SInterfaces:ToolboxDialog";
-
- MacDialogAlert class MacDialog;
- begin
- short integer nil=0;
- % FUNCTION GetNewDialog(dialogID: INTEGER; wStorage: Ptr;
- % behind: WindowPtr): DialogPtr;
- procedure GetNewDialog(dialogID, behind);
- short integer dialogId;
- ref(MACWindow) behind;
- begin
- WindowPtr:= TD.ToolboxGetNewDialog(dialogID,nil,
- if behind=/= none then behind.WindowPtr else -1);
- end;
-
- % FUNCTION NewDialog(wStorage: Ptr; boundsRect: Rect; title: Str255;
- % visible: BOOLEAN; theProc: INTEGER; behind: WindowPtr;
- % goAwayFlag: BOOLEAN; refCon: LONGINT;
- % itmLstHndl: Handle): DialogPtr;
- procedure NewDialog(boundsRect, title, visible,
- theProc, behind,goAwayFlag, refCon, itmLstHndl);
- ref(MACRect) boundsRect;
- text title;
- boolean Visible;
- short integer theProc;
- ref(MACWindow) behind;
- boolean goAwayFlag;
- integer refCon, itmLstHndl;
- begin
- text Temp;
- Temp:-util.Text_String(title);
- WindowPtr:=TD.ToolboxNewDialog(nil,
- boundsRect.top, temp, visible, theProc,
- if behind=/= none then behind.WindowPtr else -1,
- goAwayFlag, refCon, itmLstHndl);
- end;
-
- % PROCEDURE DrawDialog(theDialog: DialogPtr);
- PROCEDURE DrawDialog;
- TD.ToolboxDrawDialog(WindowPtr);
-
- % PROCEDURE CloseDialog(theDialog: DialogPtr);
- PROCEDURE CloseDialog;
- TD.ToolboxCloseDialog(WindowPtr);
-
- % PROCEDURE DisposDialog(theDialog: DialogPtr);
- PROCEDURE DisposDialog;
- TD.ToolboxDisposDialog(WindowPtr);
-
- % PROCEDURE CouldDialog(DlgID: INTEGER);
- % PROCEDURE ToolboxCouldDialog(DlgID);
- % short integer DlgId;
-
- % PROCEDURE FreeDialog(DlgID: INTEGER);
- % PROCEDURE ToolboxFreeDialog(DlgID);
- % short integer DlgId;
-
-
- % PROCEDURE GetDItem(theDialog: DialogPtr; itemNo: INTEGER; VAR kind: INTEGER;
- % VAR item: Handle; VAR box: Rect);
- PROCEDURE GetDItem( itemNo, kind, item, box);
- name kind, item, box;
- short integer itemNo, kind;
- integer item;
- ref(MACRect) box;
- begin
- short integer localkind;
- integer localitem;
- ref(MACRect) LocalBox;
- LocalKind:=kind;
- LocalItem:=item;
- LocalBox:-box;
- TD.ToolboxGetDItem(WindowPtr, itemNo,LocalKind, LocalItem, LocalBox.Top);
- box:-LocalBox;
- item:=LocalItem;
- kind:=LocalKind;
- end;
-
- % PROCEDURE SetDItem(dialog: DialogPtr; itemNo: INTEGER; kind: INTEGER;
- % item: Handle; box: Rect);
- PROCEDURE SetDItem(itemNo, kind, item, box);
- short integer itemNo, kind;
- integer item;
- ref(MACRect) box;
- TD.ToolboxSetDItem(WindowPtr, itemNo, kind, item, box.top);
-
-
- % PROCEDURE SelIText(theDialog: DialogPtr; itemNo: INTEGER; startSel,
- % endSel: INTEGER);
- PROCEDURE SelIText(itemNo, startSel, endSel);
- short integer itemNo, startSel, endSel;
- TD.ToolboxSelIText(WindowPtr, itemNo, startSel, endSel);
-
- % PROCEDURE DlgCut(theDialog: DialogPtr)" is
-
- % PROCEDURE DlgPaste(theDialog: DialogPtr)" is
-
- % PROCEDURE DlgCopy(theDialog: DialogPtr)" is
-
- % PROCEDURE DlgDelete(theDialog: DialogPtr)" is
-
- % PROCEDURE SetDAFont(fontNum: INTEGER);
- % external Toolbox procedure x="$31DF, $0AFA" is" is
-
- % {new 128K ROM}
-
- % PROCEDURE HideDItem(theDialog: DialogPtr; itemNo: INTEGER);
- PROCEDURE HideDItem(itemNo);
- short integer itemNo;
- TD.ToolboxHideDItem(WindowPtr, itemNo);
-
- % PROCEDURE ShowDItem(theDialog: DialogPtr; itemNo: INTEGER);
- PROCEDURE ShowDItem(itemNo);
- short integer itemNo;
- TD.ToolboxShowDItem(WindowPtr, itemNo);
-
- % PROCEDURE UpdtDialog(theDialog: DialogPtr; updateRgn: RgnHandle);
- % PROCEDURE ToolboxUpdtDialog(theDialog, updateRgn);
- % integer theDialog. upDateRgn;;
-
- % FUNCTION FindDItem(theDialog: DialogPtr; thePt: Point): INTEGER;
- short integer procedure FindDItem(thePt);
- ref(MACPoint) thePt;
- TD.ToolboxFindDItem(WindowPtr, thePt.h, thePt.v);
-
-
- end;